Mainframe computer systems are widely used for a variety of data processing functions. For example, many corporate financial and accounting systems were developed for, and operate on, mainframe computing systems. Although the use of personal computers and personal computer networks has proliferated in recent years, mainframe computer systems, referred to as legacy systems, are expected to remain popular for many types of data processing for years to come.
A mainframe computer system typically includes multiple user terminals connected to a mainframe host computer. Various software applications may be resident on, or accessible to, the host computer. The user terminals, which are sometimes referred to as client terminals or “clients”, communicate with the mainframe host computer via a host communications system. The International Business Machine Corporation's (“IBM”) 3270 terminal system is one of the more widely-used systems for communicating with host computers.
Typically, a 3270 terminal does not have its own data processing capability. Instead, a 3270 terminal may display screens generated by applications running on a host, and may communicate information from a user back to a host for processing. A user interface of an IBM 3270 terminal system comprises a plurality of screens that are generated by host applications for display on the 3270 terminal. Over the past few years, many 3270 terminals have been replaced with personal computers (PCs) configured to communicate with the mainframe computer system via 3270 terminal emulation software.
In many applications, 3270 terminals, or other data processing devices (e.g., a PC) emulating a 3270 terminal, now access the host computer via the Internet. For example, in systems operating under the TN3270E protocols, the 3270 terminals may access application software on a host computer via a combination of a Transmission Control Protocol/Internet Protocol (TCP/IP) protocol connection between the TN3270E client terminal and a TN3270E server, and via a Systems Network Architecture (SNA) session between the TN3270E server and the SNA application software on the host mainframe computer. Such SNA application software or “SNA applications” refer to software applications designed for use by a plurality of terminals interconnected by an SNA network or a variant of an SNA network.
FIG. 1 depicts such a mainframe computing system environment in which several TN3270E client terminals 20 communicate with several SNA applications 30 via a TN3270E server 40. The SNA applications 30 may be resident on one or more mainframe computers or other data processing systems (not shown in FIG. 1), or, alternatively, may be physically located separate from the one or more main frame computers/data processing devices but accessible by such devices. As shown in FIG. 1, the TN3270E clients 20 are connected to the TN3270E server 40 via Internet protocol or “IP” connections 25. The TN3270E server 40 is connected to the SNA applications 30 via SNA sessions 35.
In the TN3270E environment of FIG. 1, the SNA sessions extend only between the TN3270E server 40 and the SNA applications 30. Thus, the TN3270E server 40 converts IP communications from one of the TN3270E clients 20 into SNA format and forwards them to one of the SNA applications 30. The TN3270E server 40 likewise converts SNA communications received from an SNA application 30 into IP format and forwards them to the TN3270E client over the IP network.
In many legacy systems, each 3270 terminal was assigned a unique logical unit or “LU” name. Typically, legacy systems originated as hard-wired systems, and the LU name served to identify the particular terminal/user that was accessing the mainframe host computer. Consequently, many SNA software applications that were developed to run on these legacy systems included software routines that made decisions based on the LU name of the device/user accessing the terminal. Consistent with the requirements of these SNA applications, under the TN3270E protocol, a data processing device that is acting as a TN3270E client may specify an LU name when connecting to a TN3270E server. Typically, the TN3270E server will have information, such as Logmode information, regarding one or more LU names which may attempt to connect to SNA applications through the TN3270E server. Upon receiving a connection request from a TN3270E client, the TN3270E server may provide the SNA application certain of the information regarding the TN3270E client before establishing the SNA session. Moreover, typically a TN3270E server will only allow one SNA session at a time involving a particular LU name.